% program description

% ROZSAH > 1/2

% Realizační část – svým rozsahem tvoří alespoň polovinu
% práce. Měla by logicky navazovat na předchozí část.
% Obsahuje kritéria výběru (zdůvodnění) řešení, jeho obecný
% popis a rozpracování až do realizačních detailů (obecný
% model, důležité algoritmy, datové struktury, poznámky k
% vlastní realizaci apod.). Velmi důležitou částí je ověřování
% funkčnosti řešení, měření důležitých parametrů (např. doba
% výpočtu, průměrná doba odezvy, ...) a diskuse výsledků
% (srovnání s existujícími řešeními obdobné nebo téže
% problematiky). U programových produktů by měla být uvedena
% omezení (technická, programová, nároky na paměť, na čas,
% ...); naopak do realizační části obvykle nepatří uživatelská
% příručka. Je také dobré uvést zhodnocení zkušeností
% získaných při práci a rozhodnutí učiněných během realizace.
% Do práce pište jen fakta bez "omáčky", každá věta by měla
% předat nějakou novou informaci. Každá zkratka musí být
% nejprve napsána plném znění a je velmi vhodné význam uvést
% do přehledu zkratek – viz dále.

% 3D WPF
%  problém triangulace
%  problém s kooordináty
%  problém intersect
% 
% problém serializace canvasu
% problém M-V-VM
% problém s MS SQL CE
\chapter{Práce s programem}

Celý proces v nové aplikaci je založen na tom, že každý jednotlivý panelový dům je jedním projektem. Tyto projekty lze následně shlukovat v tzv. \textbf{Solutionu} (česky řešení). Solution je soubor dílčích projektů a lze jej využít pro zobrazení více panelových domu vedle sebe, např. sídliště. 

Názvy \textbf{Solution} a \textbf{Project} byly převzaty z terminologie nejznámějšího \textit{IDE} - Visual Studio. Celá aplikace je lokalizována do angličtiny, protože tento jazyk je standardem v IT oblasti. Česká lokalizace může být příkladem dalšího rozšíření.

Uživatelská dokumentace je přiložena v elektronické podobě na CD.

\section{Tvorba projektu}
Tento projekt lze založit vyplněním jeho jména pro snadné rozpoznání z pohledu uživatele a vyplněním počtu pater. Základ každého domu je jeho půdorys a tak dalším nezbytným krokem je právě nákres samotného půdorysu. Toto základní schéma, jak již bylo řečeno, může být obecný polygon. Většina panelových domů v České Republice má obdélníkový tvar, ale existuje mnoho výjimek. Například panelové domy v Plzni na Borech (viz obr. \ref{fig:planek}) mají tvar šestihranu a tyto domy nebylo možné rozkreslit v původní aplikaci.

\begin{figure}[h!tb]
\begin{center}
\includegraphics[width=0.85\textwidth]{img/planek}
\end{center}
\caption{Panelový dům v Plzni na Borech}
\label{fig:planek}
\end{figure}

\subsection{Kreslení půdorysu}

Návrh půdorysu je velice jednoduchá záležitost. Levým tlačítkem myši ukotvíme první bod polygonu a dalším stiskem postupně vytváříme polygon. Jakmile dojde k překřížení dvou stěn, nová stěna změní barvu na červenou, styl na přerušovanou čáru a kurzor myši se změní na zákaz (viz obr. \ref{fig:base}). Tímto se aplikace brání tvorbě ,,špatných'' polygonů. Samotný polygon pak ukončíme pomocí stisku pravého tlačítka myši.

\begin{figure}[h!tb]
\begin{center}
\includegraphics[width=0.85\textwidth]{img/base}
\end{center}
\caption{Kreslení půdorysu}
\label{fig:base}
\end{figure}

\newpage{}

\subsection{Umisťování panelů na stěny}

Jakmile je návrh základů panelového domu hotov, povolí se na detailu projektu nová položka ,,Draw on panels''. Při prvním vstupu na tuto stránku bude vygenerována textura odpovídající rozměrům půdorysu a výšky nastavené dle počtu pater. Nyní lze výběrem specifického panelu snadno umisťovat jednotlivé panely na texturu domu. Zde opět funguje automatická kontrola, která hlídá, aby uživatel nemohl překládat panely přes sebe (viz obr. \ref{fig:place}). Speciálním typem panelu jsou pak dveře, které je nutné umístit na panel stejné velikosti tedy typu ,,A'' (typ se zobrazí po najení na tlačítko panelu). Uživatel je o této skutečnosti informován pomocí změny kurzoru.

\begin{figure}[h!tb]
\begin{center}
\includegraphics[width=0.85\textwidth]{img/place}
\end{center}
\caption{Umisťování panelů na stěny}
\label{fig:place}
\end{figure}

\subsection{Kreslení na stěny}

Jsou-li panely rozmístěny na stěny, následuje poslední část procesu tvorby panelového domu, kreslení. Aplikace umožňuje pouze kreslení základních obrazců jako je obdélník, elipsa a čára (viz obr. \ref{fig:draw}). Pro složitější kresby je doporučeno použít funkci pro export obrázku a následně využít některý z~komerčních kreslících programů např. PaintBrush, Photoshop, Gimp, Paint.NET aj,. 
Ideální volbou pak je software, který umí kreslení ve vrstvách, protože \textbf{Export} vytvoří jeden obrázek pro každou vrstvu. Pomocí funkce \textbf{Import} lze naopak obrázek zpět uložit do aplikace pro tvorbu panelových domů.

\begin{figure}[h!tb]
\begin{center}
\includegraphics[width=0.85\textwidth]{img/draw}
\end{center}
\caption{Kreslení na stěny}
\label{fig:draw}
\end{figure}

\subsection{Detail projektu}

Po dokončení celého procesu tvorby projektu lze na detailu pozorovat 3D projekci právě navrženého panelového domu. 3D model lze otáčet pomocí stisku pravého tlačítka a následným pohybem myši. Analogicky lze použít malou projekční \textit{kostku} v pravém dolním rohu a kliknutím levého tlačítka myši na danou stěnu. Celý prostor lze také posunout pomocí stisku kolečka myši a tažením.

\section{Tvorba solutionu}

Máme-li vyhotovený větší počet projektů a chtěli bychom vidět, jak by domy vypadaly vedle sebe, lze využít \textbf{solutionu}. Pro založení \textbf{solutionu} stačí pouze zadat název, to jen pro snazší orientaci uživatele v přehledu již vytvořených řešení. Detail založeného řešení obsahuje přehled všech již přiložených projektů ve spodní části obrazovky. Na levé straně se nachází přehled všech akcí, které lze provádět nad \textbf{solutionem} či nad právě aktivním \textbf{projektem}.

\subsection{Tvorba linku}

Propojení projektu se solutionem lze docílit pomocí tzv. \textbf{linku} (česky spoje). V každém \textbf{linku} se definuje, který projekt chceme připojit a jak daný projekt (dům) posunout či otočit ve výsledném řešení.

\section{Shrnutí}

Pomocí těchto dvou procesů, \textit{tvorby projektu(ů)} a \textit{tvorby řešení} se nám do ruky dostává mocný nástroj k tvorbě trojrozměrné projekce jak pro jednotlivé domy, tak celá sídliště (viz obr. \ref{fig:solutiondetail}).

\begin{figure}[h!tb]
\begin{center}
\includegraphics[width=0.85\textwidth]{img/solutiondetail}
\end{center}
\caption{Sídliště}
\label{fig:solutiondetail}
\end{figure}